# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
# where to put generated libraries
set(LIBRARY_OUTPUT_PATH "${BUILD_DIR}/src/vec")
# where to put generated binaries
set(EXECUTABLE_OUTPUT_PATH "${BUILD_DIR}/src/vec")

set(VEC_FILES
  aggregate_functions/aggregate_function_window_funnel.cpp
  aggregate_functions/aggregate_function_avg.cpp
  aggregate_functions/aggregate_function_collect.cpp
  aggregate_functions/aggregate_function_count.cpp
  aggregate_functions/aggregate_function_distinct.cpp
  aggregate_functions/aggregate_function_sum.cpp
  aggregate_functions/aggregate_function_sort.cpp
  aggregate_functions/aggregate_function_min_max.cpp
  aggregate_functions/aggregate_function_min_max_by.cpp
  aggregate_functions/aggregate_function_null.cpp
  aggregate_functions/aggregate_function_uniq.cpp
  aggregate_functions/aggregate_function_hll_union_agg.cpp
  aggregate_functions/aggregate_function_bitmap.cpp
  aggregate_functions/aggregate_function_reader.cpp
  aggregate_functions/aggregate_function_window.cpp
  aggregate_functions/aggregate_function_stddev.cpp
  aggregate_functions/aggregate_function_topn.cpp
  aggregate_functions/aggregate_function_approx_count_distinct.cpp
  aggregate_functions/aggregate_function_group_concat.cpp
  aggregate_functions/aggregate_function_percentile_approx.cpp
  aggregate_functions/aggregate_function_simple_factory.cpp
  aggregate_functions/aggregate_function_orthogonal_bitmap.cpp
  columns/column.cpp
  columns/column_array.cpp
  columns/column_const.cpp
  columns/column_decimal.cpp
  columns/column_nullable.cpp
  columns/column_string.cpp
  columns/column_vector.cpp
  columns/columns_common.cpp
  common/demangle.cpp
  common/exception.cpp
  common/mremap.cpp
  common/pod_array.cpp
  common/string_utils/string_utils.cpp
  core/block.cpp
  core/block_info.cpp
  core/column_with_type_and_name.cpp
  core/field.cpp
  core/field.cpp
  core/sort_block.cpp
  core/materialize_block.cpp
  data_types/data_type.cpp
  data_types/data_type_array.cpp
  data_types/data_type_bitmap.cpp
  data_types/data_type_factory.cpp
  data_types/data_type_fixed_length_object.cpp
  data_types/data_type_hll.cpp
  data_types/data_type_nothing.cpp
  data_types/data_type_nothing.cpp
  data_types/data_type_nullable.cpp
  data_types/data_type_nullable.cpp
  data_types/data_type_number_base.cpp
  data_types/data_type_string.cpp
  data_types/data_type_decimal.cpp
  data_types/get_least_supertype.cpp
  data_types/nested_utils.cpp
  data_types/data_type_date.cpp
  data_types/data_type_date_time.cpp
  data_types/data_type_time_v2.cpp
  exec/vaggregation_node.cpp
  exec/varrow_scanner.cpp
  exec/ves_http_scan_node.cpp
  exec/ves_http_scanner.cpp
  exec/volap_scan_node.cpp
  exec/vsort_node.cpp
  exec/vsort_exec_exprs.cpp
  exec/volap_scanner.cpp
  exec/vexchange_node.cpp
  exec/vset_operation_node.cpp
  exec/vunion_node.cpp
  exec/vintersect_node.cpp
  exec/vexcept_node.cpp
  exec/vselect_node.cpp
  exec/vblocking_join_node.cpp
  exec/vcross_join_node.cpp
  exec/vodbc_scan_node.cpp
  exec/vmysql_scan_node.cpp
  exec/vschema_scan_node.cpp
  exec/vempty_set_node.cpp
  exec/vanalytic_eval_node.cpp
  exec/vassert_num_rows_node.cpp
  exec/vrepeat_node.cpp
  exec/vtable_function_node.cpp
  exec/vbroker_scan_node.cpp
  exec/vbroker_scanner.cpp
  exec/vjson_scanner.cpp
  exec/vparquet_scanner.cpp
  exec/vorc_scanner.cpp
  exec/join/vhash_join_node.cpp
  exec/tablefunction/vnumbers_tbf.cpp
  exec/vtable_valued_function_scannode.cpp
  exprs/vectorized_agg_fn.cpp
  exprs/vectorized_fn_call.cpp
  exprs/vexpr.cpp
  exprs/vexpr_context.cpp
  exprs/vliteral.cpp
  exprs/varray_literal.cpp
  exprs/vin_predicate.cpp
  exprs/vbloom_predicate.cpp
  exprs/vruntimefilter_wrapper.cpp
  exprs/vtuple_is_null_predicate.cpp
  exprs/vslot_ref.cpp
  exprs/vcast_expr.cpp
  exprs/vcase_expr.cpp
  exprs/vinfo_func.cpp
  exprs/table_function/vexplode.cpp
  exprs/table_function/vexplode_split.cpp
  exprs/table_function/vexplode_numbers.cpp
  exprs/table_function/vexplode_bitmap.cpp
  functions/array/function_array_index.cpp
  functions/array/function_array_element.cpp
  functions/array/function_array_register.cpp
  functions/array/function_array_size.cpp
  functions/array/function_array_aggregation.cpp
  functions/array/function_array_sort.cpp
  functions/array/function_array_utils.cpp
  functions/array/function_arrays_overlap.cpp
  functions/array/function_array_distinct.cpp
  functions/array/function_array_remove.cpp
  functions/array/function_array_union.cpp
  functions/array/function_array_except.cpp
  functions/array/function_array_intersect.cpp
  functions/array/function_array_slice.cpp
  exprs/table_function/vexplode_json_array.cpp
  functions/math.cpp
  functions/function_bitmap.cpp
  functions/function_bitmap_variadic.cpp
  functions/comparison.cpp
  functions/comparison_less.cpp
  functions/comparison_equals.cpp
  functions/comparison_greater.cpp
  functions/function.cpp
  functions/function_helpers.cpp
  functions/function_hash.cpp
  functions/functions_logical.cpp
  functions/function_case.cpp
  functions/function_cast.cpp
  functions/function_conv.cpp
  functions/function_encryption.cpp
  functions/function_regexp.cpp
  functions/function_hex.cpp
  functions/function_string.cpp
  functions/function_timestamp.cpp
  functions/function_utility.cpp
  functions/comparison_equal_for_null.cpp
  functions/function_json.cpp
  functions/function_datetime_floor_ceil.cpp
  functions/functions_geo.cpp
  functions/hll_cardinality.cpp
  functions/hll_empty.cpp
  functions/hll_hash.cpp
  functions/plus.cpp
  functions/modulo.cpp
  functions/multiply.cpp
  functions/minus.cpp
  functions/int_div.cpp
  functions/divide.cpp
  functions/function_bit.cpp
  functions/is_null.cpp
  functions/is_not_null.cpp
  functions/in.cpp
  functions/like.cpp
  functions/to_time_function.cpp
  functions/time_of_function.cpp
  functions/if.cpp
  functions/function_ifnull.cpp
  functions/nullif.cpp
  functions/random.cpp
  functions/function_coalesce.cpp
  functions/function_date_or_datetime_computation.cpp
  functions/function_date_or_datetime_to_string.cpp
  functions/function_datetime_string_to_string.cpp
  functions/function_grouping.cpp
  functions/function_java_udf.cpp
  functions/function_rpc.cpp
  functions/function_convert_tz.cpp
  functions/least_greast.cpp
  functions/function_fake.cpp
  olap/vgeneric_iterators.cpp
  olap/vcollect_iterator.cpp
  olap/block_reader.cpp
  olap/olap_data_convertor.cpp
  sink/vmysql_result_writer.cpp
  sink/vresult_sink.cpp
  sink/vdata_stream_sender.cpp
  sink/vtablet_sink.cpp
  sink/vmysql_table_writer.cpp
  sink/vmysql_table_sink.cpp
  sink/vodbc_table_sink.cpp
  sink/vresult_file_sink.cpp
  runtime/vdatetime_value.cpp
  runtime/vdata_stream_recvr.cpp
  runtime/vdata_stream_mgr.cpp
  runtime/vfile_result_writer.cpp
  runtime/vpartition_info.cpp
  utils/arrow_column_to_doris_column.cpp
  runtime/vsorted_run_merger.cpp
  exec/file_arrow_scanner.cpp
  exec/file_scanner.cpp
  exec/file_scan_node.cpp
  exec/file_text_scanner.cpp
  exec/file_hdfs_scanner.cpp
  exec/format/parquet/vparquet_column_chunk_reader.cpp
  exec/format/parquet/vparquet_group_reader.cpp
  exec/format/parquet/vparquet_page_index.cpp
  exec/format/parquet/vparquet_reader.cpp
  exec/format/parquet/vparquet_file_metadata.cpp
  exec/format/parquet/vparquet_page_reader.cpp
  exec/format/parquet/schema_desc.cpp
  exec/format/parquet/vparquet_column_reader.cpp
  exec/format/parquet/level_decoder.cpp
  exec/format/parquet/parquet_common.cpp
  exec/scan/vscan_node.cpp
  exec/scan/vscanner.cpp
  exec/scan/scanner_context.cpp
  exec/scan/scanner_scheduler.cpp
  exec/scan/new_olap_scan_node.cpp
  exec/scan/new_olap_scanner.cpp
)

add_library(Vec STATIC
        ${VEC_FILES}
        )
